/**
 * 商品相关类型定义
 */

/**
 * RBuyerGoodsDetailVo
 */
export interface Response {
    code?: number;
    data?: BuyerGoodsDetailVo;
    msg?: string;
    [property: string]: any;
}

/**
 * BuyerGoodsDetailVo
 */
export interface BuyerGoodsDetailVo {
    /**
     * 音频资源
     */
    audioResources?: GoodsResourceVo[];
    /**
     * 封面图片
     */
    coverPic?: string;
    /**
     * 封面视频
     */
    coverVideo?: string;
    /**
     * 信用等级（0:普通 1:较好 2:优秀 3:极好 4: 完美 ）
     */
    creditLevel?: number;
    /**
     * 信用分数
     */
    creditScore?: number;
    /**
     * 保证金金额
     */
    depositAmount?: number;
    /**
     * 保证金状态
     */
    depositStatus?: number;
    /**
     * 文档资源
     */
    documentResources?: GoodsResourceVo[];
    /**
     * 商品名称
     */
    goodsName?: string;
    /**
     * 资源列表
     */
    goodsResources?: GoodsResourceVo[];
    /**
     * 商品规格
     */
    goodsSpecifications?: GoodsSkuVo[];
    /**
     * 商品id
     */
    id?: number;
    /**
     * 商品介绍
     */
    introduce?: string;
    /**
     * 是否关注
     */
    isFollowed?: boolean;
    /**
     * 标签(逗号分隔)
     */
    labels?: string;
    /**
     * 是否在线（0:不在线 1:在线）
     */
    onlineStatus?: number;
    /**
     * 店铺总销量
     */
    orderCount?: number;
    /**
     * 排序
     */
    orderNum?: number;
    /**
     * 3分钟回复率
     */
    replyRate?: number;
    /**
     * 商品评分
     */
    score?: number;
    /**
     * 店铺头像
     */
    shopAvatar?: string;
    /**
     * 店铺id
     */
    shopId?: number;
    /**
     * 店铺名称
     */
    shopName?: string;
    /**
     * 商品轮播图json数组
     */
    slideshow?: { [key: string]: any }[];
    /**
     * 分类ID
     */
    typeId?: number;
    /**
     * 图片资源
     */
    imageResources?: GoodsResourceVo[];
    /**
     * 视频资源
     */
    videoResources?: GoodsResourceVo[];
    [property: string]: any;
}

/**
 * 商品资源视图对象 goods_resource
 *
 * GoodsResourceVo
 */
export interface GoodsResourceVo {
    /**
     * 文件大小(字节)
     */
    fileSize?: number;
    /**
     * 商品ID
     */
    goodsId?: number;
    /**
     * 主键ID
     */
    id?: number;
    /**
     * 主图
     */
    mainPic?: string;
    /**
     * 排序
     */
    orderNum?: number;
    /**
     * 资源类型:1-文档,2-媒体,3-演示
     */
    resourceType?: number;
    /**
     * SKU ID(可选，为空表示通用资源)
     */
    skuId?: number;
    /**
     * 资源标题
     */
    title?: string;
    /**
     * 资源链接
     */
    url?: string;
    [property: string]: any;
}

/**
 * 商品SKU视图对象 goods_sku
 *
 * GoodsSkuVo
 */
export interface GoodsSkuVo {
    /**
     * 交付天数
     */
    deliverDays?: number;
    /**
     * SKU特性描述(JSON数组)
     */
    features?: { [key: string]: any }[];
    /**
     * SKU价格
     */
    goodsAmount?: number;
    /**
     * SKU ID
     */
    id?: number;
    /**
     * 是否默认SKU:0-否,1-是
     */
    isDefault?: number;
    /**
     * 排序
     */
    orderNum?: number;
    /**
     * SKU描述
     */
    skuName?: string;
    /**
     * SKU类型:1-标准版,2-体验版
     */
    skuType?: number;
    [property: string]: any;
}

/**
 * 资源类型枚举
 */
export enum ResourceType {
    /** 文档 */
    DOCUMENT = 1,
    /** 媒体 */
    MEDIA = 2,
    /** 演示 */
    DEMO = 3
}

// 商品规格特性
export interface GoodsFeature {
  content: string;
}

// 商品规格/SKU
export interface GoodsSpecification {
  id: string;
  skuName: string;
  skuType: number; // 1: 标准版, 2: 体验版
  isDefault: number; // 1: 默认, 0: 非默认
  goodsAmount: string;
  deliverDays: number;
  orderNum: number;
  features: GoodsFeature[];
}

// SKU类型枚举
export enum SkuType {
  STANDARD = 1, // 标准版
  TRIAL = 2     // 体验版
}

// 默认状态枚举
export enum DefaultStatus {
  NOT_DEFAULT = 0, // 非默认
  DEFAULT = 1      // 默认
}

/**
 * 在线状态枚举
 */
export enum OnlineStatus {
    /** 不在线 */
    OFFLINE = 0,
    /** 在线 */
    ONLINE = 1
}

/**
 * 保证金状态枚举
 */
export enum DepositStatus {
    /** 未缴纳 */
    NOT_PAID = 0,
    /** 已缴纳 */
    PAID = 1,
    /** 已冻结 */
    FROZEN = 2,
    /** 退款中 */
    REFUNDING = 3,
    /** 已退款 */
    REFUNDED = 4
}